<?php

/**
 * INFORMELIBROSMASBUSCADOS actions.
 *
 * @package    OPENBIBLIOSOFT
 * @subpackage INFORMELIBROSMASBUSCADOS
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 12479 2008-10-31 10:54:40Z fabien $
 */
class INFORMELIBROSMASBUSCADOSActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
  public function executeIndex(sfWebRequest $request)
  {
    //$this->forward('default', 'module');
  }
  
	public function executeListarLibrosArea()
	{
		$conexion = new Criteria();
		
		$numeroLibros = EjemplarPeer::doCount($conexion);
		$conexion->setLimit($this->getRequestParameter('limit'));
		$conexion->setOffset($this->getRequestParameter('start'));
		$libros = EjemplarPeer::doSelect($conexion);
		$pos = 0;
		$nbrows=0;
		$datos;
		
		foreach ($libros As $temporal)
		{
			$datos[$pos]['rank']=$pos+1;
			$datos[$pos]['total']=100;
			$datos[$pos]['isbn']=$temporal->getLibro()->getIsbn();
			$datos[$pos]['titulo']=$temporal->getLibro()->getTitulo();
			$datos[$pos]['areaConocimiento']=$temporal->getlibro()->getAreaconocimiento()->getNombre();
			$autoresNombres=null;
			$datos[$pos]['autores']=$this->getAutores($temporal->getIsbn());
			$datos[$pos]['editorial']=$temporal->getlibro()->getEditorial()->getNombre();
			
			$pos++;
			$nbrows++;
		}
		
		if($nbrows>0){
			$jsonresult = json_encode($datos);
			return  $this->renderText('({"total":"'.$numeroLibros.'","results":'.$jsonresult.'})');
		}
		else {
			return  $this->renderText('({"total":"0", "results":""})');
		}
	}
	
	public function getAutores($isbn)
	{
		$conexion = new Criteria();
		$conexion->add(LibroautorPeer::ISBN, $isbn);
		
		if($conexion)
		{
			$autores = LibroautorPeer::doSelect($conexion);
			foreach ($autores As $temporal)
			{
				$autoresNombres.=$temporal->getAutor()->getPrimerapellido().", ".$temporal->getAutor()->getPrimernombre().". ";
			}
			if($autoresNombres)
			{
				$autoresNombres = substr($autoresNombres, 0, -2);
			}
		}
		
		return $autoresNombres;
	}
}
